import pdfplumber
import pandas as pd
import os


def pdf_to_excel(pdf_path, excel_path):
    # 创建一个空列表存储所有表格数据
    all_tables = []

    # 打开PDF文件
    with pdfplumber.open(pdf_path) as pdf:
        # 遍历PDF的每一页
        for page in pdf.pages:
            # 提取当前页的所有表格（默认表格设置）
            tables = page.extract_tables()
            if tables:
                for table in tables:
                    # 将提取的表格转换为DataFrame
                    df = pd.DataFrame(table[1:], columns=table[0])  # 第一行为表头
                    all_tables.append(df)

    # 合并所有表格数据
    if all_tables:
        final_df = pd.concat(all_tables, ignore_index=True)
        # 保存为Excel文件
        final_df.to_excel(excel_path, index=False)
        print(f"转换完成，文件已保存至：{excel_path}")
    else:
        print("未从PDF中提取到表格数据")


if __name__ == "__main__":
    # 替换为你的PDF文件路径和输出Excel路径
    pdf_file_path = "table.pdf"  # PDF文件所在路径
    excel_file_path = "锚杆施工记录表.xlsx"  # 输出Excel文件路径

    # 检查PDF文件是否存在
    if not os.path.exists(pdf_file_path):
        print(f"错误：未找到文件 {pdf_file_path}")
    else:
        pdf_to_excel(pdf_file_path, excel_file_path)
